/*
 *   Copyright (C) Key Bridge Global LLC and/or its affiliates.
 *
 *   This program is free software: you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation, either version 3 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package com.keybridgeglobal.wsif;

import com.keybridgeglobal.wsif.enumerated.EnumWsifDataSource;
import com.keybridgeglobal.wsif.enumerated.EnumWsifWirelessServiceType;
import java.util.Date;
import javax.xml.bind.annotation.*;

/**
 * <p>Java class for license complex type.
 * <p/>
 * <p>The following schema fragment specifies the expected content contained
 * within this class.
 * <p/>
 * <
 * pre>
 * &lt;complexType name="license">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *       &lt;/sequence>
 *       &lt;attribute name="callSign" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="licenseeName" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="dateGrant" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
 *       &lt;attribute name="dateExpire" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
 *       &lt;attribute name="dateCreated" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
 *       &lt;attribute name="dateLastUpdated" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
 *       &lt;attribute name="active" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
 *       &lt;attribute name="dataSource" type="{}enumWsifDataSource" />
 *       &lt;attribute name="wirelessServiceType" use="required" type="{}enumWsifWirelessServiceType" />
 *       &lt;attribute name="description" type="{http://www.w3.org/2001/XMLSchema}string" />
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * <p/>
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "license")
@XmlRootElement
public class License {

  @XmlAttribute(name = "callSign", required = true)
  protected String callSign;
  @XmlAttribute(name = "licenseeName")
  protected String licenseeName;
  @XmlAttribute(name = "dateGrant", required = true)
  @XmlSchemaType(name = "dateTime")
  protected Date dateGrant;
  @XmlAttribute(name = "dateExpire", required = true)
  @XmlSchemaType(name = "dateTime")
  protected Date dateExpire;
  @XmlAttribute(name = "dateCreated", required = true)
  @XmlSchemaType(name = "dateTime")
  protected Date dateCreated;
  @XmlAttribute(name = "dateLastUpdated", required = true)
  @XmlSchemaType(name = "dateTime")
  protected Date dateLastUpdated;
  @XmlAttribute(name = "active", required = true)
  protected boolean active;
  @XmlAttribute(name = "dataSource")
  protected EnumWsifDataSource dataSource;
  @XmlAttribute(name = "wirelessServiceType", required = true)
  protected EnumWsifWirelessServiceType wirelessServiceType;
  @XmlAttribute(name = "description")
  protected String description;

  /**
   * Gets the value of the callSign property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getCallSign() {
    return callSign;
  }

  /**
   * Sets the value of the callSign property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setCallSign(String value) {
    this.callSign = value;
  }

  /**
   * Gets the value of the licenseeName property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getLicenseeName() {
    return licenseeName;
  }

  /**
   * Sets the value of the licenseeName property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setLicenseeName(String value) {
    this.licenseeName = value;
  }

  /**
   * Gets the value of the dateGrant property.
   * <p/>
   * @return possible object is {@link Date }
   *
   */
  public Date getDateGrant() {
    return dateGrant;
  }

  /**
   * Sets the value of the dateGrant property.
   * <p/>
   * @param value allowed object is {@link Date }
   *
   */
  public void setDateGrant(Date value) {
    this.dateGrant = value;
  }

  /**
   * Gets the value of the dateExpire property.
   * <p/>
   * @return possible object is {@link Date }
   *
   */
  public Date getDateExpire() {
    return dateExpire;
  }

  /**
   * Sets the value of the dateExpire property.
   * <p/>
   * @param value allowed object is {@link Date }
   *
   */
  public void setDateExpire(Date value) {
    this.dateExpire = value;
  }

  /**
   * Gets the value of the dateCreated property.
   * <p/>
   * @return possible object is {@link Date }
   *
   */
  public Date getDateCreated() {
    return dateCreated;
  }

  /**
   * Sets the value of the dateCreated property.
   * <p/>
   * @param value allowed object is {@link Date }
   *
   */
  public void setDateCreated(Date value) {
    this.dateCreated = value;
  }

  /**
   * Gets the value of the dateLastUpdated property.
   * <p/>
   * @return possible object is {@link Date }
   *
   */
  public Date getDateLastUpdated() {
    return dateLastUpdated;
  }

  /**
   * Sets the value of the dateLastUpdated property.
   * <p/>
   * @param value allowed object is {@link Date }
   *
   */
  public void setDateLastUpdated(Date value) {
    this.dateLastUpdated = value;
  }

  /**
   * Gets the value of the active property.
   * <p/>
   */
  public boolean isActive() {
    return active;
  }

  /**
   * Sets the value of the active property.
   * <p/>
   */
  public void setActive(boolean value) {
    this.active = value;
  }

  /**
   * Gets the value of the dataSource property.
   * <p/>
   * @return possible object is {@link EnumWsifDataSource }
   *
   */
  public EnumWsifDataSource getDataSource() {
    return dataSource;
  }

  /**
   * Sets the value of the dataSource property.
   * <p/>
   * @param value allowed object is {@link EnumWsifDataSource }
   *
   */
  public void setDataSource(EnumWsifDataSource value) {
    this.dataSource = value;
  }

  /**
   * Gets the value of the wirelessServiceType property.
   * <p/>
   * @return possible object is {@link EnumWsifWirelessServiceType }
   *
   */
  public EnumWsifWirelessServiceType getWirelessServiceType() {
    return wirelessServiceType;
  }

  /**
   * Sets the value of the wirelessServiceType property.
   * <p/>
   * @param value allowed object is {@link EnumWsifWirelessServiceType }
   *
   */
  public void setWirelessServiceType(EnumWsifWirelessServiceType value) {
    this.wirelessServiceType = value;
  }

  /**
   * Gets the value of the description property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getDescription() {
    return description;
  }

  /**
   * Sets the value of the description property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setDescription(String value) {
    this.description = value;
  }
}
